Fundamental types in C++ are divided into three categories:
Integral types are capable of handling whole numbers. Floating types are capable of specifying values that may have fractional parts.
The void type describes an empty set of values. No variable of type void can be specified — it is used primarily to declare functions that return no values or to declare generic pointers to untyped or arbitrarily typed data. Any expression can be explicitly converted or cast to type void.
Several of the basic types can be modified using one or more of these type modifiers:
Signedness
Size